TOTAL ANNIHILATION DEMO RECORDER quick start and reference documentation
by Twilight, of Total Annihilation: Twilight

NOTE: This is not the normal/official documentation of the TA Demo Recorder. While out of date, that can be seen here:
http://www.clan-sy.com/download/tademo/recorder.html

This is just a quick guide on installing it, the patch, getting it up and running, and how the features work. The idea was to cover a lot of the stuff I tell people when I first walk them through installing the TA Demo Recorder, setting it up, and then showing them the features. I hope you find it useful!

-Twilight

March 15th, 2008 





To install the TA Demo Recorder, first run the tademo99b2.exe installer, which will install the TA Demo Recorder.

Then unzip the tadr1RC2.zip file (These are just the patch files), and copy the files inside into the Total Annihilation directory. This will overwrite a couple of files, which is fine.

Then go to your Start Menu, then TA Demo, and run the Replayer (Not the 3D Replayer!). When it comes up, click on Options.

You can set the directory that you want the recorded games (demos) to be saved to, by changing the path under "Default TA Demo directory", if you want. By default, it records them to the TA directory.

Now make sure all of the check boxes underneath Recorder Settings are checked (Some will already be checked, which is fine, but make sure all the others are checked as well).

Click on OK, and then close the Replayer.

Then start up a skirmish (or multiplayer) game and once in the game press Control F2 to bring up the TADR control panel.
If you did a multiplayer game, you can bring up the control panel in the battleroom instead, if you prefer.

You can bring up the TA Demo Recorder control panel at any time by pressing Control F2 (Even during the game).
The Control Panel is where we set up the Whiteboard key, and the Autoclick key. Once you have brought it up with Control F2, you can click and drag it around if it's not where you want it to be.

First, click on the Background button until it says Text.
It changes how the resource bars of allies appear, and Text is usually the easiest to see.
You can change it later during the game if you want to see how the other settings look, but Text is usually the best, in my opinion.

There's a number under "Whiteboard key". That's the ASCII number of the key you use for the Whiteboard key. I don't know why they did it that way, but they did. Anyway, click on the number, and press F4. It should change to 115.
Now do the same on the autoclick key number, and use "c" (As in the letter, as in Cat) and it should show 67.

The tricky part about setting your keys is that you don't want to conflict with existing TA hotkeys. For example, "A" is used as the hotkey for attack, and so that would be a poor choice as a hotkey for the whiteboard or autoclick key.

I find these to be the best, but you can set them to whatever you want whenever you want.

Off to the right, you see the chat macro window filled with text. That is engaged any time you press F11 in game, typing out all the text into the chat bar at the bottom of the screen. You can click in the text window of the Chat macro and edit the existing text, or add new text. This enables you to quickly enable common console commands you would normally use, or a personal "tagline", all with a single keystroke.

The default commands listed there:
+setsharemetal 1000
+setshareenergy 1000
+shareall
+shootall

+setsharemetal 1000
Sets the metal sharing limit at 1000, which will be signified by a red line on your resource bar. Any metal you have over 1000 will be shared out to any allies/teammates you have who have less than their metal sharing limit. Assuming you have one ally, and you both have the same limits set (1000 in this case), you would only share metal you had in excess of 1000, and only when he simultaneously had less than 1000 metal. For example, with it set to 1000, it won't give everything away, just whatever is over 1000. That means if we're allied, and I only have 125 metal in storage, and you have 1300, it will share your excess with me until you come down to 1000, or I come up to 1000. This helps automate the sharing and avoidance of wasting of resources.

+setshareenergy 1000
Sets the energy sharing limit at 1000, which will be signified by a red line on your resource bar. Any energy you have over 1000 will be shared out to any allies/teammates you have who have less than their energy sharing limit. Assuming you have one ally, and you both have the same limits set (1000 in this case), you would only share energy you had in excess of 1000, and only when he simultaneously had less than 1000 energy. For example, with it set to 1000, it won't give everything away, just whatever is over 1000. That means if we're allied, and I only have 125 metal in storage, and you have 1300, it will share your excess with me until you come down to 1000, or I come up to 1000. This helps automate the sharing and avoidance of wasting of resources.

+shareall
This enables sharing energy and metal between allies and teammates, as subject to the limits set by +setsharemetal and +setshareenergy

+shootall
Tells your units to fire on *all* enemy units in range. Normally, your units by default will ignore resource and unarmed type units, such as Solar Collectors, Factories, etc.

Optimize DT Rows:
(From the TADR Documentation):
Use a different order for autoclick queues when the footprint is set to 2. Construction units will spend ever so slightly less time building lines of Dragon Teeth this way.

Enable FullRings:
The fullrings are another feature of the autoclick key, where you can have units automatically build circles of Dragon's Teeth around a unit, defense, etc. The fullrings just make a complete box around the unit, instead of a circle. I generally find leaving it off, so it build circles, sufficient, but you can toggle it on or off at will during the game.


Features of the Demo Recorder:
(From the TADR documentation)
Interface Upgrade

Idle Const Finder
    Ctrl-B will now cycle through your idle Constrution units. (Moving does not count as idle.) 

Queue 100 units
    Just like you hold Shift to queue/unqueue units in steps of 5 in factories, you can now hold Ctrl+Shift and will be able to queue/unqueue units in steps of 100. 

Ally income display
    A box that displays the net income and storage of your allies. When replaying games, it shows the net income of all players. You can move this box by dragging it around with the left mouse button. Doubleclicking into it will bring up the interface upgrade options. 

Autoclick
    Conveniently queue long rows or rings of structures.
The Autoclick feature

The autoclick feature allows for easy queuing of rows of structures or rings of DT. It is activated by pressing the autoclick key - by default this is keycode 88 which is the X key.

Queueing rows of a structure:

       1. Select the structure to build, from any Construction unit's menu.
       2. Press and hold Shift, then press and hold the autoclick key.
       3. Click down the first structure to build.
       4. Now move the mouse around. The resulting row of structures will be previewed on-the-fly.
       5. If you like your row of structures, click again. Alternatively you can release the autoclick key to cancel the row queue. 

Queuing DT rings:

       1. Select the structure to build, from any Construction unit's menu.
       2. Press and hold Shift, then press and hold the autoclick key.
       3. Move your cursor over a unit or building (Such as an LLT), and a right will automatically appear around it, Click again to actually start building.



Whiteboard
    Use the main map display as a drawing board or set markers. All your allies will be able to see your drawings/markers. See Whiteboard for details.

The Whiteboard feature

The whiteboard feature allows for enhanced communcation of reconnaisance between allies. It is activated by pressing the whiteboard key. The factory default is keycode 220 which is the ^ key (above Tab and to the left of 1).

Drawing:

       1. Press and hold the whiteboard key.
       2. Click left and drag to draw. Easy as pie :o) 

Quick erasing:

       1. Press and hold the whiteboard key.
       2. Click and hold the right mouse button, then drag to erase. The eraser size is 100100 pixel. 

Selective erasing:

       1. Press and hold the whiteboard key.
       2. Right-doubleclick on a spot. You will erase a 2020 pixel area. 

Setting markers:

       1. Press and hold the whiteboard key
       2. Left-doubleclick on a spot on the main game screen and release the whiteboard key.
       3. You will be prompted for a description text. Enter something and hit Return.
       4. Your allies will be notified of the addition of a marker. 

Setting quick markers:

       1. Press and hold the whiteboard key.
       2. Click the middle mouse button on a spot on the main game screen.
       3. The marker will be added with no description. Again, your allies will be notified. 

Scroll to newest ally marker:

       1. Press and hold Ctrl.
       2. Press the whiteboard key. 

Editing marker descriptions:

       1. Press and hold the whiteboard key.
       2. Left-doubleclick on a marker.
       3. You will be prompted for a description text. Enter something and hit Return. 

Moving markers:

       1. Press and hold the whiteboard key.
       2. Left-click on a marker and drag it anywhere you want. 



THERE IS ALSO AN UNDOCUMENTED FEATURE USING THE SCROLL WHEEL ON THE MOUSE:

While holding down the autoclick key to drag out a line of structures, or to surround a unit/building with Dragon's Teeth (Or something else), you can use the scroll wheel on your mouse to adjust the spacing/size of the line/square. Using the scroll wheel will let you choose between putting the Dragon's Teeth (Or whatever you've chosen to build) in a line right next to each other, with a little space between them, all the way up to huge gaps between them (Good for mine placement). 

The scroll wheel will let you do the same adjusting to the Dragon's Teeth ring surrounding something, except instead of adjusting the spacing, it will make the square smaller, until it hugs the unit in questions, or bigger, so that the square can be as nearly as large as the screen.



Command list reference

TA Demo is largely controlled via commands issued from the TA chat console available in the Battle Room and, by pressing ENTER, during the game. Here is a list of available commands:

[abridged to the most useful commands. See the actual TADR documentation for a comprehensive list. -Twilight]

.cmdwarp (battleroom host-only)
    Enables a singleshot Commander warp. The game will start out paused. You can click on any spot on the map and your Commander will instantly be placed there. Do this as often as you like. Once you have found a cozy spot for your Commander, click the Done button. Once everyone does so, the game will automatically unpause. Alternatively, you can unpause the game manually - this will terminate the warp sequence for everyone in the game. Useful for fixing the start positions for 2v2 games on the MSN Gaming Zone for example.

.crash (ingame)
    Mainly for debugging purposes: forces the recorder to actually crash if it is catching exceptions, so that you can get a full Errorlog.txt of the event. Usually you will want to use .panic. 

.fakewatch (battleroom)
    Gives you the ability to chat while watching. Join the game as a regular player for it to work. You will appear as a watcher to everyone else and will be unable to affect anything, except that you will be able to chat. Note that fake watchers occupy the first slots in the game, causing some disruption for the rest of the players' start positions. You may want to use .cmdwarp as a workaround. 

.fixall (battleroom ingame)
    Enable both lag workarounds at once: .fixfacexps and .protectdt.

.fixfacexps (battleroom ingame)
    The recorder will protect new units for three seconds after they start building in a factory so that they are not killed by damage being dealt to an already dead unit, the cause for the annoying effect of "exploding build queues".

    NOTE: Because new units are invulnerable for 3 seconds, some aspects of the game change. This is most notable when a group of Skeeters attacks a shipyard producing units - the Skeeters deal most damage with their secondary weapon which you can't force fire at the Shipyard, so units produced by the Shipyyard will in this case soak up a lot of the damage, making it harder to kick people out of the water using Skeeters. If this concerns you, see .fixoff.

.fixoff (battleroom ingame anyone)
    Disables all fixes for everyone. The game must be rehosted in to reenable them.

.take (ingame)
    When a reject screen for a player appears, an ally can use .take to claim the dropping player's units and structures.
 
.takecmd (ingame)
    Same as .take, but includes the dropping player's Commander giving you two of them to worry about and utilize. With Commander Dies: Game Ends settings, loosing any Commander loses you the game. Ctrl-C will also select all Commanders.
 
.panic (ingame)
    If the recorder starts flooding you with Exception caught messages, use this command and pray that the recorder manages to process it.

.plfrom nick (ingame)
    Packet loss statistics for a certain player. Each value represents the time passed at a certain packet loss level. The first ten values represent 2% steps in the range from 0% to 20%, the last one represents the entire 20% to 100% range. 

.plresults (battleroom)
    Prints info about how the packets in the last .pltest fared. 

.pltest nick (battleroom)
    Sends a sharp spike of ping packets to a player. This does not show what the conditions will exactly be like in a game and requires some experience to judge. However, it does simulate the kind of activity that would tend to occur during a game. See also the .plfrom command.
 
.protectdt (battleroom ingame)
    Tries to make sure DTs aren't lost. Without this fix, sometimes an opponent will see holes in an actually solid DT line you built. 

.randmap filename (battleroom)
    Proposes a map randomly picked out of a list from a file that follows the format of the supplied maps.txt. The filename is optional and defaults to maps.txt if omitted. If you create your own favorite list of maps to play on you can use it by specifying the filename. 

.report (battleroom ingame anyone)
    All recorders in the game report their presence, version and status of the toggles:

        (T--) shows the game is being recorded
        (-T-) shows .fixfacexps is enabled
        (--T) shows .protectdt is enabled

    Any combination of the above is possible. No answer from a player means they don't have TA Demo installed.
 
.syncon num num (battleroom host-only)
    Gamespeed is locked to the range between the first (low limit) and second (high limit) number (e.g. .syncon -3 +2). Useful to prevent speedjacking. 

.status (battleroom ingame)
    Same as .report, except only your own recorder replies and noone else sees it. Useful to silently check if your recorder is turned on. 

.stoplog (battleroom ingame)
    Halts the recorder. 

.time (ingame)
    Displays the game time for all players according to their +clock. Useful for spotting a lagging player. 

.votego (battleroom)
    Signifies you're ready to go. If all players issue .votego, this will forcibly click in watchers. Useful if one of them left to take a shower or something without clicking in.